using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.Drawing.Text;
using System.IO;

namespace CRC
{
      
    class clsModSalones
    {

        public clsSalon Salon = new clsSalon();
        public clsCongregacion Congregacion = new clsCongregacion();
       
    }
    
    class clsSalon
    {
        DataAccess bd = new DataAccess();
        MySql.Data.MySqlClient.MySqlDataAdapter ad;
        MySql.Data.MySqlClient.MySqlDataAdapter ad2;
        MySql.Data.MySqlClient.MySqlDataAdapter ad3;    

        DataSet ds = new DataSet();
        
        ArrayList arrLstCgSalAs = new ArrayList();
        ArrayList arrLstCgSalCRC = new ArrayList();
        ArrayList arrLstCgSalSUC = new ArrayList();

        string[,] Listado; 
        string[,] ListadoAs;

        public string strSQL = "SELECT * FROM salones WHERE ID_SALON = ";
        private string strId = "1";
        private string strPoblacion="";
        private string strProvincia="";
        private int intCP=0;
        private string strTelefono ="";
        private string strAltitud="";
        private string strLatitud= "";
        private string strPropiedad="";
        private string strDireccion="";
        private string strAnfitriona="";
        private string strObservaciones = "";
        private string strZona = "";
        private int intResponsable = 0;
        private string strNombreSalon = "";
        /*
        private struct lstCS
        {
            string Id;
            string NombreCgCRC;
            string NombreCgSUC;
        }
        */

        public clsSalon()
        {
           // LoadSalon(strId);
            //MessageBox.Show("dd");

        }
        
        public void LoadSalon(string Id)
        {
            strId = Id;

            bd.Init();
            ad = bd.LoadData(strSQL + Id);

            try { ds.Tables["salones"].Clear(); }
            catch { }

            ad.Fill(ds, "salones");
            
            try
            {
                strNombreSalon = ds.Tables["salones"].Rows[0]["NOMBRE_SALON"].ToString();
                strPoblacion = ds.Tables["salones"].Rows[0]["POBLACION_SALON"].ToString();
                strProvincia = ds.Tables["salones"].Rows[0]["PROVINCIA_SALON"].ToString();
                intCP = Convert.ToInt32(ds.Tables["salones"].Rows[0]["CODIGO_POSTAL_SALON"]);
                strTelefono = ds.Tables["salones"].Rows[0]["TELEFONO_SALON"].ToString();
                strAltitud = ds.Tables["salones"].Rows[0]["ALTITUD_GPS"].ToString();
                strLatitud = ds.Tables["salones"].Rows[0]["LATITUD_GPS"].ToString();
                strPropiedad = ds.Tables["salones"].Rows[0]["PROPIEDAD_ALQUILER"].ToString();
                strDireccion = ds.Tables["salones"].Rows[0]["DIRECCION_SALON"].ToString();
                strAnfitriona = ds.Tables["salones"].Rows[0]["NUM_CONG_ANFITRIONA"].ToString();
                strObservaciones = ds.Tables["salones"].Rows[0]["OBSERVACIONES"].ToString();
                strZona = ds.Tables["salones"].Rows[0]["Zona"].ToString();
                intResponsable = Convert.ToInt32(ds.Tables["salones"].Rows[0]["RESPONSABLE"]);

            }
            catch {}

            //Agregar elementos

            ad2 = bd.LoadData("SELECT ID_CONGREGACION, NOMBRE_CONG_CRC, NOMBRE_CONG_SUCURSAL FROM congregaciones WHERE ID_SALON =" + Id);
            ad2.Fill(ds, "lstCongresAs");

            
            ListadoAs = new string[ds.Tables["lstCongresAs"].Rows.Count, 3];

            for (int i = 0; i <= ds.Tables["lstCongresAs"].Rows.Count -1 ; i++)
            {
                //arrLstCgSalAs.Add(ds.Tables["lstCongresAs"].Rows[i]["ID_CONGREGACION"]);
                ListadoAs[i, 0] = ds.Tables["lstCongresAs"].Rows[i]["ID_CONGREGACION"].ToString();
                ListadoAs[i, 1] = ds.Tables["lstCongresAs"].Rows[i]["NOMBRE_CONG_CRC"].ToString();
                ListadoAs[i, 2] = ds.Tables["lstCongresAs"].Rows[i]["NOMBRE_CONG_SUCURSAL"].ToString();

            }

            ad3 = bd.LoadData("SELECT ID_CONGREGACION, NOMBRE_CONG_CRC, NOMBRE_CONG_SUCURSAL FROM congregaciones");
            ad3.Fill(ds, "lstCongres");

            Listado = new string[ds.Tables["lstCongres"].Rows.Count,3];

            for (int i = 0; i <= ds.Tables["lstCongres"].Rows.Count - 1; i++)
            {
                Listado[i, 0] = ds.Tables["lstCongres"].Rows[i]["ID_CONGREGACION"].ToString();
                Listado[i, 1] = ds.Tables["lstCongres"].Rows[i]["NOMBRE_CONG_CRC"].ToString();
                Listado[i, 2] = ds.Tables["lstCongres"].Rows[i]["NOMBRE_CONG_SUCURSAL"].ToString();
                //arrLstCgSal.Add(ds.Tables["lstCongres"].Rows[i]["ID_CONGREGACION"]);
            }            

        }

        public void Delete(string ID_SALON)
        {
            bd.Init();
            bd.Execute("DELETE FROM 'salones' WHERE ID_SALON = " + ID_SALON);
        }

        public string[,] Lista_Congregaciones
        {
            get
            {
                //return arrLstCgSalAs;
                return Listado; 
            }
            //set
            //{                
            //    arrLstCgSalAs  = value;
            //}
        }

        public void Update()
        {
            if (strId != String.Empty)
            {
                bd.Init();
                
                string strSQL = "UPDATE SALONES SET ";		
		        strSQL = strSQL + "NOMBRE_SALON = '" + strNombreSalon + "', ";
		        strSQL = strSQL + "DIRECCION_SALON = '" + strDireccion + "', "; 
		        strSQL = strSQL + "POBLACION_SALON = '" + strPoblacion + "', "; 
		        strSQL = strSQL + "PROVINCIA_SALON = '" + strProvincia + "', "; 
		        strSQL = strSQL + "CODIGO_POSTAL_SALON = " + intCP + ", "; 
		        strSQL = strSQL + "TELEFONO_SALON = '" + strTelefono + "', "; 
		        strSQL = strSQL + "PROPIEDAD_ALQUILER = '" + strPropiedad + "', "; 
		        strSQL = strSQL + "OBSERVACIONES = '" + strObservaciones + "', "; 
		        strSQL = strSQL + "LATITUD_GPS = '" + strLatitud + "', "; 
		        strSQL = strSQL + "ALTITUD_GPS = '" + strAltitud + "', "; 
		        strSQL = strSQL + "ZONA = '" + strZona + "', "; 
		        strSQL = strSQL + "RESPONSABLE = " + intResponsable + " "; 
		        strSQL = strSQL + "WHERE ID_SALON = '" + strId.ToString()+ "';";
                
                bd.Execute(strSQL);            
            }
        }

        public string[,] Cong_del_Salon
        {
            get
            {
                //return arrLstCgSalAs;
                return ListadoAs;
            }
            //set
            //{                
            //    arrLstCgSalAs  = value;
            //}
        }

        public string Id
        {
            get
            {
                return strId;
            }
            //set
            //{
            //    strId = value;
            //}
        }

        public string Nombre_Salon
        {
            get
            {
                return strNombreSalon;
            }
            set
            {
                strNombreSalon = value;
            }
        }

        public string Observaciones
        {
            get
            {
                return strObservaciones;
            }
            set
            {
                strObservaciones = value;
            }
        }

        public  string Poblacion
        {
            get
            {
                return strPoblacion;
            }
            set
            {
                strPoblacion = value;                
                
            }
        }

        public string Zona
        {
            get
            {
                return strZona;
            }
            set
            {
                strZona = value;

            }
        }

        public  string Provincia
        {
            get
            {
                return strProvincia ;
            }
            set
            {
                strProvincia = value;
            }
        }

        public  int CP
        {
            get
            {
                return intCP;
            }
            set
            {
                intCP  = value;
            }
        }

        public int Responsable
        {
            get
            {
                return intResponsable;
            }
            set
            {
                intResponsable = value;
            }
        }

        public  string Telefono
        {
            get
            {
                return strTelefono;
            }
            set
            {
                strTelefono = value;
            }
        }

        public  string GPS_Altitud
        {
            get
            {
                return strAltitud;
            }
            set
            {
                strAltitud = value ;
            }
        }

        public  string GPS_Latitud
        {
            get
            {
                return strLatitud;
            }
            set
            {
                strLatitud = value;
            }
        }

        public  string Propiedad
        {
            get
            {
                return strPropiedad;
            }
            set
            {
                strPropiedad = value ;
            }
        }

        public  string Direccion
        {
            get
            {
                return strDireccion;
            }
            set
            {
                strDireccion  = value;
            }
        }

        public  string Anfitriona
        {
            get
            {
                return strAnfitriona ;
            }
            set
            {
                strAnfitriona = value;
            }
        }
    }

    class clsCongregacion
    {
        DataAccess bd = new DataAccess();
        MySql.Data.MySqlClient.MySqlDataAdapter ad;        
        DataSet ds = new DataSet();
        
        public clsSecretario Secretario;
        public clsPresidente Presidente;
        public clsCircuito Circuito;

        public string strSQL = "SELECT * FROM congregaciones WHERE ID_CONGREGACION = ";
        private int intId;
        private int intNum = 1;
        private int intTipo = 1;
        private string strSalon = "";
        private string strNomCgCRC = "";
        private string strNomCgSuc = "";
        private string strPoblacion="";
        private string strProvincia="";
        
        
        public clsCongregacion()
        {            
            //LoadCongregacion(strId);
            //MessageBox.Show("dd");

        }

        public void LoadCongregacion(int Id)
        {
            intId= Id;
            
            //Presidente = new clsPresidente(Id);
            //Secretario = new clsSecretario(Id);

            try
            {

                ds.Tables["congregaciones"].Clear();
            }
            catch {}

            bd.Init();
            ad = bd.LoadData(strSQL + Id);
            ad.Fill(ds, "congregaciones");
            try
            {
                intNum = Convert.ToInt32(ds.Tables["congregaciones"].Rows[0]["N_CONGREGACION"]);
                intTipo = Convert.ToInt32(ds.Tables["congregaciones"].Rows[0]["ID_TIPO"]);
                strSalon = ds.Tables["congregaciones"].Rows[0]["ID_SALON"].ToString();
                strNomCgCRC = ds.Tables["congregaciones"].Rows[0]["NOMBRE_CONG_CRC"].ToString();
                strNomCgSuc = ds.Tables["congregaciones"].Rows[0]["NOMBRE_CONG_SUCURSAL"].ToString();
                //strPoblacion = ds.Tables["congregaciones"].Rows[0]["POBLACION_CONG"].ToString();
                //strProvincia = ds.Tables["congregaciones"].Rows[0]["PROVINCIA_CONG"].ToString();

                Circuito = new clsCircuito(ds.Tables["congregaciones"].Rows[0]["ID_SUP_CIRCUITO"].ToString());
                
            }
            catch { }
            
        }

        public void Delete()
        {
            bd.Init();
            bd.Execute("DELETE FROM congregaciones WHERE N_CONGREGACION = " + intId.ToString());
        }

        public void Delete(int N_CONGREGACION)
        {
            bd.Init();
            bd.Execute("DELETE FROM congregaciones WHERE N_CONGREGACION = " + N_CONGREGACION.ToString());
        }

        public void Delete(string ID_CONGREGACION)
        {
            bd.Init();
            bd.Execute("DELETE FROM congregaciones WHERE ID_CONGREGACION = " + ID_CONGREGACION);
        }

        public void Update()
        {
            //if (intId != String.Empty)
            //{
                bd.Init();
                
                string strSQL = "UPDATE congregaciones SET ";
		        strSQL = strSQL + "NOMBRE_CONG_CRC = '" + strNomCgCRC + "', ";
		        strSQL = strSQL + "NOMBRE_CONG_SUCURSAL = '" + strNomCgSuc + "', ";
		        strSQL = strSQL + "N_CONGREGACION = " + intNum.ToString() + ", ";
		        strSQL = strSQL + "ID_SALON = '" + strSalon+ "', ";
		        strSQL = strSQL + "ID_TIPO = " + intTipo.ToString() + ", ";
        		
		        strSQL = strSQL + "SUP_PRESIDENTE = '" + Presidente.Presidente + "', ";
		        strSQL = strSQL + "DIRECCION_SP = '" + Presidente.Direccion + "', ";
		        strSQL = strSQL + "POBLACION_SP = '" + Presidente.Poblacion + "', ";
		        strSQL = strSQL + "PROVINCIA_SP = '" + Presidente.Provincia + "', ";
		        strSQL = strSQL + "CODIGO_POSTAL_SP = " + Presidente.CP.ToString() + ", ";
		        strSQL = strSQL + "TELEFONO_SP = '" + Presidente.Telefono + "', ";
		        strSQL = strSQL + "MOVIL_SP = '" + Presidente.Movil + "', ";
        		
		        strSQL = strSQL + "SECRETARIO = '" + Secretario.Secretario + "', ";
		        strSQL = strSQL + "TELEFONO_SEC = '" + Secretario.Telefono + "', ";
		        strSQL = strSQL + "MOVIL_SEC = '" + Secretario.Movil + "' ";
                strSQL = strSQL + "WHERE ID_CONGREGACION = " + intId.ToString() + ";";


                bd.Execute(strSQL);
            //}
        }

        public int  Id
        {
            get
            {
                return intId;
            }
            //set
            //{                
            //    intId  = value;
            //}
        }

        public int Numero
        {
            get
            {
                return intNum;
            }
            set
            {                
                intNum  = value;
            }
        }
        
        public int Tipo
        {
            get
            {
                return intTipo;
            }
            set
            {
                intTipo = value;
            }
        }

        public string Salon
        {
            get
            {
                return strSalon;
            }
            set
            {
                strSalon = value;
            }
        }

        public string Congregacion_CRC
        {
            get
            {
                return strNomCgCRC;
            }
            set
            {
                strNomCgCRC = value;
            }
        }

        public string Congregacion_Sucursal
        {
            get
            {
                return strNomCgSuc ;
            }
            set
            {
                strNomCgSuc = value;
            }
        }

        public string Poblacion
        {
            get
            {
                return strPoblacion;
            }
            set
            {
                strPoblacion = value;
            }
        }

        public string Provincia
        {
            get
            {
                return strProvincia ;
            }
            set
            {
                strProvincia = value;
            }
        }

    }

    class clsPresidente
    {
        DataAccess bd = new DataAccess();
        MySql.Data.MySqlClient.MySqlDataAdapter ad;
        DataSet ds = new DataSet();

        public string strSQL = "SELECT * FROM congregaciones WHERE ID_CONGREGACION = ";      

        private string strPresidente = "";
        private string strDireccion = "";
        private string strPoblacion = "";
        private string strProvincia = "";
        private int intCP = 0;
        private string strTelFijo = "";
        private string strMovil = "";


        public clsPresidente(string Id)
        {
            try
            {
                ds.Tables["CongrePresidente"].Clear();
            }
            catch { }

            bd.Init();
            ad = bd.LoadData(strSQL + Id);
            ad.Fill(ds, "CongrePresidente");
          
            
            strPresidente = ds.Tables["CongrePresidente"].Rows[0]["SUP_PRESIDENTE"].ToString();
            strDireccion = ds.Tables["CongrePresidente"].Rows[0]["DIRECCION_SP"].ToString();
            strPoblacion = ds.Tables["CongrePresidente"].Rows[0]["POBLACION_SP"].ToString();
            strProvincia = ds.Tables["CongrePresidente"].Rows[0]["PROVINCIA_SP"].ToString();
            intCP = Convert.ToInt32(ds.Tables["CongrePresidente"].Rows[0]["CODIGO_POSTAL_SP"]);
            strTelFijo = ds.Tables["CongrePresidente"].Rows[0]["TELEFONO_SP"].ToString();
            strMovil = ds.Tables["CongrePresidente"].Rows[0]["MOVIL_SP"].ToString();            
            
            //Aki ruben
        }

        public string Presidente
        {
            get
            {
                return strPresidente;
            }
            set
            {
                strPresidente = value;
            }
        }

        public string Direccion
        {
            get
            {
                return strDireccion;
            }
            set
            {
                strDireccion = value;
            }
        }

        public string Poblacion
        {
            get
            {
                return strPoblacion;
            }
            set
            {
                strPoblacion = value;
            }
        }

        public string Provincia
        {
            get
            {
                return strProvincia;
            }
            set
            {
                strProvincia = value;
            }
        }

        public int CP
        {
            get
            {
                return intCP;
            }
            set
            {
                intCP = value;
            }
        }

        public string Telefono
        {
            get
            {
                return strTelFijo;
            }
            set
            {
                strTelFijo = value;
            }
        }

        public string Movil
        {
            get
            {
                return strMovil;
            }
            set
            {
                strMovil = value;
            }
        }

    }
    
    class clsSecretario
    {
        DataAccess bd = new DataAccess();
        MySql.Data.MySqlClient.MySqlDataAdapter ad;
        DataSet ds = new DataSet();

        public string strSQL = "SELECT * FROM congregaciones WHERE ID_CONGREGACION = ";

        private string strSecretario = "";      
        private string strTelFijo = "";
        private string strMovil = "";


        public clsSecretario(string Id)
        {
            try
            {
                ds.Tables["CongSecretario"].Clear();
            }
            catch { }

            bd.Init();
            ad = bd.LoadData(strSQL + Id);
            ad.Fill(ds, "CongSecretario");

            strSecretario = ds.Tables["CongSecretario"].Rows[0]["SECRETARIO"].ToString();
            strTelFijo = ds.Tables["CongSecretario"].Rows[0]["TELEFONO_SEC"].ToString();
            strMovil = ds.Tables["CongSecretario"].Rows[0]["MOVIL_SEC"].ToString();

        }

        public string Secretario
        {
            get
            {
                return strSecretario;
            }
            set
            {
                strSecretario = value;
            }
        }
        
        public string Telefono
        {
            get
            {
                return strTelFijo;
            }
            set
            {
                strTelFijo = value;
            }
        }

        public string Movil
        {
            get
            {
                return strMovil;
            }
            set
            {
                strMovil = value;
            }

        }
    }


    class clsCircuito
    {
        DataAccess bd = new DataAccess();
        MySql.Data.MySqlClient.MySqlDataAdapter ad;
        DataSet ds = new DataSet();

        public string strSQL = "SELECT * FROM sup_circuito WHERE ID_SUP_CIRCUITO = ";

        private string strCircuito = "";
        private string strDireccion = "";
        private string strPoblacion = "";
        private string strProvincia = "";
        private int intCP = 0;
        private string strTelFijo = "";
        private string strMovil = "";
        private string idSC = "";

        public clsCircuito(string Id)
        {
            try
            {
                ds.Tables["Cirucuito"].Clear();
            }
            catch { }

            idSC = Id.PadLeft(4, '0');
            bd.Init();
            ad = bd.LoadData(strSQL + idSC);
            ad.Fill(ds, "Circuito");

            strCircuito = ds.Tables["Circuito"].Rows[0]["SUP_CIRCUITO"].ToString();
            strDireccion = ds.Tables["Circuito"].Rows[0]["DIRECCION_SC"].ToString();
            strPoblacion = ds.Tables["Circuito"].Rows[0]["POBLACION_SC"].ToString();
            strProvincia = ds.Tables["Circuito"].Rows[0]["PROVINCIA_SC"].ToString();                                                           
            //intCP = Convert.ToInt32(ds.Tables["Circuito"].Rows[0]["CODIGO_POSTAL_SC"]);
            strTelFijo = ds.Tables["Circuito"].Rows[0]["TELEFONO_SC"].ToString();
            strMovil = ds.Tables["Circuito"].Rows[0]["MOVIL_SC"].ToString();  

        }

        public string ID_Sup_Circuito
        {
            get
            {
                return idSC;
            }
            set
            {
                idSC = value;
            }
        }

        public string Circuito
        {
            get
            {
               
                return strCircuito;                
            }
            set
            {
                strCircuito = value;
            }
        }

        public string Direccion
        {
            get
            {
                return strDireccion;
            }
            set
            {
                strDireccion = value;
            }
        }

        public string Poblacion
        {
            get
            {
                return strPoblacion;
            }
            set
            {
                strPoblacion = value;
            }
        }

        public string Provincia
        {
            get
            {
                return strProvincia;
            }
            set
            {
                strProvincia = value;
            }
        }

        public int CP
        {
            get
            {
                return intCP;
            }
            set
            {
                intCP = value;
            }
        }

        public string Telefono
        {
            get
            {
                return strTelFijo;
            }
            set
            {
                strTelFijo = value;
            }
        }

        public string Movil
        {
            get
            {
                return strMovil;
            }
            set
            {
                strMovil = value;
            }
        }

    }
  

    class clsFotos
    {
        DataAccess bd = new DataAccess();
        MySql.Data.MySqlClient.MySqlDataAdapter ad;
        DataSet ds = new DataSet();

        public string strSQL = "SELECT * FROM congregaciones WHERE ID_CONGREGACION = ";

        private string strSecretario = "";
        private string strTelFijo = "";
        private string strMovil = "";


        public clsFotos(int Id)
        {
            try
            {
                ds.Tables["CongSecretario"].Clear();
            }
            catch { }

            bd.Init();
            ad = bd.LoadData(strSQL + Id);
            ad.Fill(ds, "CongSecretario");

            strSecretario = ds.Tables["CongSecretario"].Rows[0]["SECRETARIO"].ToString();
            strTelFijo = ds.Tables["CongSecretario"].Rows[0]["TELEFONO_SEC"].ToString();
            strMovil = ds.Tables["CongSecretario"].Rows[0]["MOVIL_SEC"].ToString();

        }

        public string Secretario
        {
            get
            {
                return strSecretario;
            }
            set
            {
                strSecretario = value;
            }
        }

        public string Telefono
        {
            get
            {
                return strTelFijo;
            }
            set
            {
                strTelFijo = value;
            }
        }

        public string Movil
        {
            get
            {
                return strMovil;
            }
            set
            {
                strMovil = value;
            }

        }
    }

}
